perm filename DISPLY.FAI[SYS,HE] blob
sn#004262 filedate 1972-09-29 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00010 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 TITLE DISPLY -- DISPLAY PRIMITIVES
00004 00003 SAIL DECLARATIONS
00007 00004
00008 00005
00010 00006
00014 00007 SAIL DECLARATIONS
00016 00008 BEGIN DDCODE
00021 00009 BEGIN CHRTBL
00040 00010 ↑CHRTBL: 0
00046 ENDMK
⊗;
TITLE DISPLY -- DISPLAY PRIMITIVES
OPDEF DPYPOS [XWD 702100,0]
OPDEF DPYSIZ [XWD 702140,0]
OPDEF DPYCLR [XWD 701000,0]
OPDEF UPG [XWD 703000,0]
OPDEF GETLIN [TTYUUO 6,]
EXTERNAL USERERR
A←1
B←2
C←3
SP←16
P←17
INTERNAL DPYSET,AIVECT,AVECT,APT,RIVECT,RVECT,RPT
INTERNAL APOINT,RPOINT,AVECW,AIVECW,RVECW,RIVECW,APOINW,GVECW
INTERNAL LOCATE,DJUMP,DJSR,FIXUP,DPYOUT,HYDPOG,DPYCLR,DPYBIG,DPYBRT,DPYRESET,DPYPARS
INTERNAL CLRBFR,GVECT,DTYO,DPYSST
RV←←6
AV←←106
VIS←←0
EP←←20
INV←←40
SVS←100
SV←2
DEFINE COMPAT(N)<
POP P,RETURN
JSP COMP-N>
POP P,5
POP P,4
POP P,3
POP P,2
POP P,1
COMP: JRST @0
;SAIL DECLARATIONS
;EXTERNAL PROCEDURE GVECT(INTEGER X,Y,OP,SIZE,BRT);
;EXTERNAL PROCEDURE AIVECT(INTEGER X,Y)
;EXTERNAL PROCEDURE AVECT(INTEGER X,Y)
;EXTERNAL PROCEDURE APT(INTEGER X,Y)
;EXTERNAL PROCEDURE RIVECT(INTEGER X,Y)
;EXTERNAL PROCEDURE RVECT(INTEGER X,Y)
;EXTERNAL PROCEDURE RPT(INTEGER X,Y)
GVECT: COMPAT(5)
DPB C+1,[POINT 3,C,27]
DPB C+2,[POINT 3,C,24]
JRST LVC
AIVECT: MOVEI C,INV+AV
JRST LV
AVECT: MOVEI C,VIS+AV
JRST LV
APOINT:
APT: MOVEI C,EP+AV
LV: COMPAT(2)
LVC: DPB A,[POINT 11,C,10]
DPB B,[POINT 11,C,21]
LV2: AOS A,DPYPTR
MOVEM C,(A)
LV3: HRLI A,<(<POINT 7,0,35>)>
MOVEM A,DPYPTR
HRRZI A,(A)
CAML A,BUFEND
JRST DPYOVF
JRST @RETURN
DPYOVF: PUSH P,[0]
PUSH P,[1] ;ALLOW CONTINUE
PUSH SP,[=19]
PUSH SP,[POINT 7,[ASCIZ /DPY BUFFER OVERFLOW/]]
PUSHJ P,USERERR
SOS DPYPTR
JRST @RETURN
RIVECT: MOVEI C,INV+RV
JRST RVG
RVECT: MOVEI C,VIS+RV
JRST RVG
RPOINT:
RPT: MOVEI C,EP+RV
RVG: COMPAT(2)
SKIPE RELFLG#
JRST LVC
CAML A,[-SVS]
CAIL A,SVS
JRST LVC
CAML B,[-SVS]
CAIL B,SVS
JRST LVC
ANDCMI C,RV ;CAN CONSTRUCT SHORT VECTOR
DPB A,[POINT 7,C,22]
DPB B,[POINT 7,C,29]
LSH C,20
ORI C,SV+INV ;MAKE 2ND VECTORE INVISIBLE - ZERO LENGTH
MOVE A,@DPYPTR
TLZ A,777774
CAIE A,(C) ;WAS LAST DPY OUTPUT A SHORT VECTOR WORD WITH 2ND VECTOR ZERO?
JRST LV2 ;NO
LSH C,-24 ;YES, PUT IT THERE
DPB C,[POINT 16,@DPYPTR,31]
HRRZ A,DPYPTR
JRST @RETURN
INTERNAL NORELOPT,RELOPT
NORELOPT:SETOM RELFLG
POPJ P,
RELOPT: SETZM RELFLG
POPJ P,
INTERNAL GVECW,AIVECW,AVECW,APOINW,RIVECW,RVECW,RPOINW
GVECW: COMPAT(5)
DPB C+1,[POINT 3,C,27]
DPB C+2,[POINT 3,C,24]
JRST LVCW
AIVECW: MOVEI C,INV+AV
JRST LVW
AVECW: MOVEI C,VIS+AV
JRST LVW
APOINW: MOVEI C,EP+AV
LVW: COMPAT(2)
LVCW: DPB A,[POINT 11,C,10]
DPB B,[POINT 11,C,21]
MOVE A,C
JRST @RETURN
RIVECW: MOVEI C,INV+RV
JRST LVW
RVECW: MOVEI C,VIS+RV
JRST LVW
RPOINW: MOVEI C,EP+RV
JRST LVW
;SAIL DECLARATIONS
;EXTERNAL INTEGER PROCEDURE LOCATE
;EXTERNAL PROCEDURE DTYO(INTEGER CHAR)
;EXTERNAL PROCEDURE DPYSST(STRING S);
;EXTERNAL PROCEDURE DJUMP(INTEGER ADR)
;EXTERNAL PROCEDURE DJSR(INTEGER ADR)
;EXTERNAL PRODECURE FIXUP(INTEGER ADR,VAL)
LOCATE: HRRZ A,DPYPTR
POPJ P,
DTYO: COMPAT(1)
IDPB A,DPYPTR
HRRZ A,DPYPTR
CAML A,BUFEND
JRST DPYOVF
JRST @RETURN
DPYSST: POP SP,1
POP SP,2
HRRZS 2 ;LENGTH
JUMPLE 2,SSRET
ILDB 3,1
IDPB 3,DPYPTR
SOJG 2,.-2
SSRET: HRRZ 1,DPYPTR
CAML 1,BUFEND
JRST [POP P,RETURN
JRST DPYOVF]
POPJ P,
DJUMP: MOVEI C,1B31
JRST DJ2
DJSR: MOVEI C,24
DJ2: COMPAT(1)
MOVSS A
ADD C,A
JRST LV2
FIXUP: COMPAT(2)
HRLM B,(A)
JRST @RETURN
;SAIL DECLARATIONS
;EXTERNAL PROCEDURE DPYOUT(INTEGER PIECE_OF_GLASS)
;EXTERNAL PROCEDURE DPYCLR;
;EXTERNAL PROCEDURE DPYBIG(INTEGER SIZE);
;EXTERNAL PROCEDURE DPYTST;
;EXTERNAL PROCEDURE HYDPOG(INTEGER PIECE_OF_GLASS)
;EXTERNAL PROCEDURE CLRBFR;
;EXTERNAL PROCEDURE DPYSET(INTEGER ARRAY BUF);
; DPYTST TESTS TTY TO SEE IF IT IS A DPY
; III DPY=0, DATA DISK=1, OTHERWISE=-1
INTERNAL DPYTST,PTYDPY#
;PTYDPY IS AN INTERNAL TO FORCE DPY OUTPUTS TO A DPY INDEPENDENT OF
;THE GETLIN BITS. 0 MEANS USE GETLIN, 1 MEANS NOT DPY, 2 MEANS III, 3 MEANS DD
DPYTST: SKIPE 1,PTYDPY
JRST [ SUBI 1,2
MOVEM 1,DPYFLG
POPJ P,]
SETOB 1,DPYFLG
GETLIN 1
TLNE 1,421000 ;DPY OR PTY ON DPY?
SETZM DPYFLG ;WE ARE ON A DPY
TLNE 1,020000 ;ON A DATA DISK?
AOS DPYFLG
MOVE 1,DPYFLG
POPJ P,
DPYBIG: COMPAT(1)
MOVEI 3,INV+RV ;ZERO LENGTH RELATIVE-INVISIBLE VECTOR
DPB 1,[POINT 3,3,27]
JRST LV2
DPYBRT: COMPAT(1)
MOVEI 3,INV+RV
DPB 1,[POINT 3,3,24]
JRST LV2
DPYCLR: SKIPLE DPYFLG
JRST [PUSH P,[0]
PUSHJ P,HYDPOG
JRST .+1]
SKIPL DPYFLG#
DPYCLR
MOVSI 777774
MOVEM POGWD
SETZM POGON
SETZM BUFHD
POPJ P,
EXTERNAL IIICVT
DPYOUT: PUSHJ P,DPYPARS
HRRZ B,DPYPTR
SUB B,BUFHD
ADDI B,1
MOVEM B,BUFHD+1
JSP POGSUB
ORM 1,POGON#
SH2: COMPAT(1)
DPB A,[POINT 4,SH1,12]
JUMPL A,FALSE
SKIPE A,DPYFLG
JRST [JUMPL A,FALSE
MOVE A,BUFHD
SUBI A,2
PUSH P,A
PUSH P,RETURN
JRST IIICVT]
SH1: UPG BUFHD
FALSE: MOVEI A,0
JRST @RETURN
CLRBFR: COMPAT(0)
JRST CLR2
DPYSET: PUSHJ P,DPYTST
COMPAT(1)
ADDI 1,2
MOVEM 1,BUFHD
HRRZ 2,-3(1) ;SIZE
ADDI 2,-3(1)
MOVEM 2,BUFEND
CLR2: MOVE A,BUFHD
MOVEI B,1
MOVEM B,1(A)
MOVEI B,2(A)
HRLI B,1(A)
BLT B,@BUFEND ;SET DPY BUFFER TO NULL CHARACTER WORDS
JRST LV3
DPYPARS: SKIPN 1,BUFHD
POPJ P,
MOVE 2,DPYPTR
MOVEM 2,-2(1)
MOVEI 2,2(2)
SUB 2,1
MOVEM 2,-1(1)
SUBI 1,2
POPJ P,
DPYRESET: COMPAT(1)
JUMPE 1,@RETURN
ADDI 1,2
MOVEM 1,BUFHD
HRRZ 2,-3(1)
ADDI 2,-3(1)
MOVEM 2,BUFEND
HRRZ 2,-1(1) ;SIZE
ADDI 2,-2(1) ;START ADR
MOVE 1,2
JRST CLR2+1
INTERNAL DPYTYP,TYPLOC
DPYTYP: PUSHJ P,DPYTST
COMPAT(3)
SKIPGE DPYFLG
JRST @RETURN
DPYPOS(1) ;POSITION
DPB 2,[POINT 9,3,26]
DPYSIZ (3)
JRST @RETURN
TYPLOC: PUSHJ P,DPYTST
COMPAT(2)
SKIPGE DPYFLG
JRST @RETURN
DPYPOS (1)
SUB 1,2
IDIVI 1,=46 ;23 UNITS PER LINE
CAIG 1,2
MOVEI 1,2 ;AT LEAST 2 GLITCHES
LSH 1,=9
DPYSIZ 2(1) ;2 LINES PER GLITCH
JRST @RETURN
;SAIL DECLARATIONS
;EXTERNAL PROCEDURE PGSEL(INTEGER POG)
;EXTERNAL PROCEDURE UPGMVM(INTEGER VAL;REFERENCE INTEGER ADR);
;EXTERNAL INTEGER PROCEDURE UPGMVE(REFERENCE INTEGER ADR);
INTERNAL PGSEL,UPGMVM,UPGMVE,GETPOG,RELPOG
INTERNAL ACPOGS,ACCPOG,DACPOG,POGON;
PGSEL: COMPAT(1)
JUMPL 1,@RETURN
SKIPN DPYFLG
PGSEL (1)
JRST @RETURN
UPGMVM: COMPAT(2)
SKIPN DPYFLG
UPGMVM 1,(2)
JRST @RETURN
UPGMVE: COMPAT(1)
SKIPN DPYFLG
UPGMVE 1,(1)
JRST @RETURN
POGWD: XWD 777774,0
GETPOG: MOVE POGWD
JFFO .+2
MOVNI 1,1
ROT (1)
TLZ 400000
MOVN 2,1
ROT(2)
MOVEM POGWD
POPJ P,
HYDPOG:
RELPOG: JSP POGSUB
ORM 1,POGWD
ANDCAM 1,POGON
SETZM BUFHD+1
SKIPG DPYFLG
JRST SH2
OPDEF DDOUT [XWD 715140,0]
DDOUT [DDCLR
3]
SUB P,[XWD 2,2]
JRST @2(P)
DDCLR: 136004001324
136004001324
0
ACPOGS: MOVS 1,-1(P)
MOVSM 1,POGON
SKIPN DPYFLG
PGIOT 1,(1)
SUB P,[XWD 2,2]
JRST @2(P)
POGSUB: MOVN 2,-1(P)
MOVSI 1,400000
LSH 1,(2)
JRST @0
DACPOG: JSP POGSUB
ANDCA 1,POGON
ACPOG2: MOVSS 1
JRST ACPOGS+1
ACCPOG: JSP POGSUB
OR 1,POGON
JRST ACPOG2
RETURN: 0
INTERNAL DPYPTR;
DPYPTR: 0
BUFEND: 0
BUFHD: 0
0
BEGIN DDCODE
A←1
B←2
C←3
D←4
X←1
Y←2
PT←5
N←6
M←7
SPT←10
K←11
P←17
COFFY←2;
CR←15
LF←12
INTERNAL IIIWD;
EXTERNAL LINTAB,PTTAB,GFSIZX,GFSIZY,GFSIZL,X0,Y0,SCALX,SCALY,XCENT,YCENT,LMAR,CHASP,CHSCAL
↑IIIWD: MOVEI K,1
MOVE LINTAB
HRRM LT1
HRRM LT2
MOVE PTTAB
HRRM PT1
HRRM PT2
MOVE A,-1(P)
POP P,-1(P)
TRNE A,1
JRST PSTR ;A STRING
MOVE B,A
ANDI B,17
CAIN B,2
JRST [PUSH P,A ;SHORT VECTOR WORD
LSH A,-24
PUSHJ P,MKSVEC
POP P,A
LSH A,-4
JRST MKSVEC]
CAIE B,6
POPJ P,
LDB C,[POINT 3,A,27] ;LONG VECTOR WORD
JUMPE C,MKLVEC
MOVE C,CHSIZS-1(C) ;CHANGE CHARACTER SIZE
MOVE D,CHSCAL
FSC D,233
FMP D,C
FMP D,CHASP
FIX D,233000
MOVEM D,CHSCX#
MOVE D,CHSCAL
FSC D,233
FMP C,D
FIX C,233000
MOVEM C,CHSCY#
IMULI C,=12
MOVEM D,CHSC12#
MOVE C,CHSCY
IMULI C,COFFY
MOVEM C,COFCC#
MKLVEC: MOVE C,A
LDB X,[POINT 11,C,10]
LDB Y,[POINT 11,C,21]
TRNE X,2000
ORCMI X,3777
TRNE Y,2000
ORCMI Y,3777
LDB C,[POINT 3,C,31]
JRST MKVEC
MKSVEC: MOVE C,A
LDB X,[POINT 7,C,26]
LDB Y,[POINT 7,C,33]
ANDI C,3
TRNE X,100
ORCMI X,77
TRNE Y,100
ORCMI Y,77
MKVEC: IMUL X,SCALX
IMUL Y,SCALY
MOVNS Y
TRZE C,4
JRST [ADD X,XCENT ;ABSOLUTE VECTOR
ADD Y,YCENT
SUB X,X0
SUB Y,Y0
JRST .+1]
MKV2: JRST VTAB(C)
VTAB: JRST MKLINE ;VISIBLE VECTOR
JRST MKPTR ;END POINT VECTOR
JRST [ADDB X,X0 ;INVISIBLE VECTOR
ADDB Y,Y0
POPJ P,]
CPOPJ: POPJ P, ;DO NOTHING
MKLINE: PUSH P,X
PUSH P,Y
MOVM C,X
MOVM D,Y
CAMG C,D
MOVE C,D ;C←MAX(C,D)
HLRZM C,M;
AOS M
IDIV Y,M
MOVEM Y,DY#
IDIV X,M
MOVEM X,DX#
MOVE X,X0
MOVE Y,Y0
L: HLRZ C,X
HLRZ D,Y
CAMGE C,GFSIZX
CAML D,GFSIZY
JRST L2 ;OFF SCREEN
LT1: MOVE D,LINTAB(D)
PT1: DPB K,PTTAB(C)
L2: ADD X,DX
ADD Y,DY
SOJGE M,L
POP P,Y
POP P,X
MKPTR: ADDB X,X0
ADDB Y,Y0
MKPT: HLRZ C,X
HLRZ D,Y
CAMGE C,GFSIZX
CAML D,GFSIZY
POPJ P, ;OFF SCREEN
LT2: MOVE D,LINTAB(D)
PT2: DPB K,PTTAB(C)
POPJ P,
CHARS: 0
0
PSTR: MOVEM A,CHARS
MOVE COFCC
ADDM Y0
MOVE PT,[POINT 7,CHARS,-1]
CLOOP: ILDB N,PT
JUMPE N, [MOVN COFCC
ADDM Y0
POPJ P,]
CAIN N,CR
JRST [MOVE A,LMAR ;CARRIAGE RETURN
MOVEM A,X0
JRST CLOOP]
CAIN A,LF
JRST [MOVE A,CHSC12 ;LINE FEED
ADDM A,Y0
JRST CLOOP]
HLRZ SPT,CHRTBL(N)
HRLI SPT,(<POINT 5,0>)
HRRZ N,CHRTBL(N)
SLOOP: JUMPLE N,CLOOP
ILDB C,SPT
ILDB X,SPT
ILDB Y,SPT
TRNE X,20
ORCMI X,37
TRNE Y,20
ORCMI Y,37
MOVNS Y
IMUL X,CHSCX
IMUL Y,CHSCY
JUMPE C, [PUSHJ P,MKPTR
JRST LX1]
CAIE C,2
JRST [ADDM X,X0
ADDM Y,Y0
SOJA N,SLOOP]
PUSHJ P,MKLINE
LX1: SOJA N,SLOOP
CHSIZS: 1.33
1.9999
2.34
2.67
4.01
5.33
8.13
BEND DDCODE
BEGIN CHRTBL
stdh←11
stdw←6
; Stroke table
; XWD <table address>,<number of strokes>
; table: byte (5) pen,dx,dy
c1: byte (5) 3,0,4, 2,2,-2, 2,2,2 3,-2,4, 2,0,-6, 3,4,-2
c2: byte (5) 3,0,3, 2,0,2, 2,1,1, 2,1,0, 2,1,-1, 2,1,<1
>,3,-1,-1, 2,0,-2, 2,1,-1, 3,-1,1, 2,-1,<-1
>,2,-1,0, 2,-1,1, 3,6,-3
c3: byte (5) 2,1,1, 2,0,4, 2,1,1, 2,2,0, 2,1,-1, 2,-1,<-1
>,2,-3,0, 3,3,0, 2,1,-1, 2,-1,-1, 2,-3,0, 3,6,-2
c4: byte (5) 3,0,4, 2,2,2, 2,2,-2, 3,2,-4
c5: byte (5) 3,0,5, 2,4,0, 2,0,-1, 3,2,-4
c6: byte (5) 3,1,4, 2,2,0, 3,0,2, 2,-1,0, 2,-1,-1, 2,0,<-2
>,2,1,-1, 2,1,0, 3,3,-2
c7: byte (5) 3,1,2, 2,0,4, 3,-1,0, 2,4,0, 3,-1,0, 2,0,<-4
>,3,3,-2
c10: byte (5) 3,0,2, 2,2,2, 3,-2,3, 2,0,-1, 2,4,-4, 3,2,-2
c12: byte (5) 3,0,-stdh
c13: byte (5) 3,0,2, 2,1,-1, 2,1,1, 2,0,5, 2,1,1, 2,1,-1, 3,2,-7
c14: byte (5) 3,0,3, 2,4,0, 3,0,3, 2,-4,0, 3,2,2, 2,0,-4, 3,4,-4
c16: byte (5) 3,1,3, 2,1,1, 2,0,1, 2,1,1, 2,1,<-1
>, 2,0,-1, 2,-1,-1, 2,-1,1, 3,0,1, 2,-1,<1
>, 2,-1,-1, 2,0,-1, 2,1,-1, 3,5,-3
c17: byte (5) 3,0,3, 2,0,1, 2,1,1, 2,2,0, 2,1,<-1
>,2,0,2, 2,-2,2, 2,-1,0, 3,3,-4, 2,0,<-1
>,2,-1,-1, 2,-2,0, 2,-1,1, 3,6,-3
c20: byte (5) 3,4,7, 2,-3,0, 2,-1,-1, 2,0,-2, 2,1,<-1
>,2,3,0, 3,2,-3
c21: byte (5) 3,0,3, 2,3,0, 2,1,1, 2,0,2, 2,-1,1, 2,-3,0, 3,6,-7
c22: byte (5) 3,0,4, 2,0,2, 2,1,1, 2,2,0, 2,1,-1, 2,0,-2, 3,2,-4
c23: byte (5) 3,0,7, 2,0,-2, 2,1,-1, 2,2,0, 2,1,1, 2,0,2, 3,2,-7
c24: byte (5) 3,0,10, 2,2,-6, 2,2,6, 3,-1,-2, 2,-2,0, 3,5,-6
c25: byte (5) 3,0,2, 2,4,0, 2,0,3, 2,-3,0, 3,-1,3, 2,4,<0
>,2,0,-3, 3,2,-5
c26: byte (5) 3,0,4, 2,0,2, 2,1,1, 2,2,0, 2,1,-1, 2,0,<-2
>,2,-1,-1, 2,-2,0, 2,-1,1, 3,1,0, 2,2,2, 3,-2,0, 2,2,-2, 3,3,-4
c27: byte (5) 3,2,0, 2,-2,2, 2,4,4, 2,-2,2, 3,-2,-2, 2,4,0, 3,-4,-4, 2,4,<0
>,3,2,-2
c30: byte (5) 2,4,0, 3,2,0
c31: byte (5) 3,2,3, 2,2,2, 2,-2,2, 3,-2,-2, 2,4,0, 3,2,-5
c32: byte (5) 3,0,10, 2,1,1, 2,1,0, 2,0,-1, 2,1,0, 2,1,1, 3,2,-11
c33: byte (5) 3,0,1, 2,4,6, 3,0,-2, 2,-4,0, 3,0,-2, 2,4,0, 3,2,-2
c34: byte (5) 3,1,2, 2,2,0, 3,0,2, 2,-2,2, 2,2,2, 3,3,-10
c35: byte (5) 3,1,2, 2,2,0, 3,-2,2, 2,2,2, 2,-2,2, 3,5,-10
c36: byte (5) 3,0,3, 2,4,0, 3,0,2, 2,-4,0, 3,0,2, 2,4,0, 3,2,-7
c37: byte (5) 3,0,6, 2,2,-2, 2,2,2, 3,2,-6
c40: byte (5) 3,stdw,0
c41: byte (5) 3,2,1, 2,0,1, 3,0,2, 2,0,4, 3,4,-10
c42: byte (5) 3,1,7, 2,0,2, 3,2,0, 2,0,-2, 3,3,-7
c43: byte (5) 3,1,2, 2,0,5, 3,2,0, 2,0,-5, 3,1,1, 2,-4,0, 3,0,<3
>,2,4,0, 3,2,-6
c44: byte (5) 3,2,1, 2,0,10, 3,2,-2, 2,-1,1, 2,-2,0, 2,-1,<-1
>,2,0,-1, 2,1,-1, 2,2,0, 2,1,-1, 2,0,-2, 2,-1,<-1
>,2,-2,0, 2,-1,1, 3,6,-3
c45: byte (5) 3,0,2, 2,0,1, 2,4,4, 2,0,1, 3,-3,0, 2,-1,<0
>,2,0,-1, 2,1,0, 2,0,1, 3,3,-5, 2,1,0, 2,0,<-1
>,2,-1,0, 2,1,0, 3,3,-1
c46: byte (5) 3,4,4, 2,-2,-2, 2,-1,0, 2,-1,1, 2,0,1, 2,2,2, 2,0,<1
>,2,-1,1, 2,-1,-1, 2,0,-1, 2,4,-4, 3,2,-2
c47: byte (5) 3,0,7, 2,1,1, 2,0,1, 2,1,0, 2,0,-1, 2,-1,0, 3,5,-7
c50: byte (5) 3,4,2, 2,-2,2, 2,0,2, 2,2,2, 3,2,-10
c51: byte (5) 3,0,2, 2,2,2, 2,0,2, 2,-2,2, 3,6,-10
c52: byte (5) 3,2,2, 2,0,6, 3,-2,-1, 2,4,-4, 3,0,2, 2,-4,<0
>,3,0,-2, 2,4,4, 3,2,-7
c53: byte (5) 3,2,3, 2,0,4, 3,-2,-2, 2,4,0, 3,2,-5
c54: byte (5) 3,0,1, 2,1,1, 2,0,1, 3,5,-3
c55: byte (5) 3,0,5, 2,4,0, 3,2,-5
c56: byte (5) 3,1,2, 0,1,0, 3,4,-2
c57: byte (5) 3,0,3, 2,4,4, 3,2,-7
c60: byte (5) 3,0,3, 2,4,4, 2,-1,1, 2,-2,0, 2,-1,-1, 2,0,<-4
>,2,1,-1, 2,2,0, 2,1,1, 2,0,4, 3,2,-7
c61: byte (5) 3,1,2, 2,2,0, 3,-1,0, 2,0,6, 2,-1,-1, 3,5,-7
c62: byte (5) 3,0,7, 2,1,1, 2,2,0, 2,1,-1, 2,0,-1, 2,-4,-4, 2,4,0, 3,2,-2
c63: byte (5) 3,0,3, 2,1,-1, 2,2,0, 2,1,1, 2,0,1, 2,-1,1, 2,-1,<0
>,3,1,0, 2,1,1, 2,0,1, 2,-1,1, 2,-2,0, 2,-1,-1, 3,6,-7
c64: byte (5) 3,3,2, 2,0,6, 2,-3,-3, 2,0,-1, 2,4,0, 3,2,-4
c65: byte (5) 3,0,3, 2,1,-1, 2,2,0, 2,1,1, 2,0,2, 2,-1,1, 2,-3,<0
>,2,0,2, 2,4,0, 3,2,-10
c66: byte (5) 3,0,5, 2,0,-2, 2,1,-1, 2,2,0, 2,1,1, 2,0,1, 2,-1,1, 2,-3,<0
>,2,0,1, 2,2,2, 2,1,0, 3,3,-10
c67: byte (5) 3,0,10, 2,4,0, 2,-2,-4, 2,0,-2, 3,4,-2
c70: byte (5) 3,1,5, 2,-1,-1, 2,0,-1, 2,1,-1, 2,2,0, 2,1,<1
>,2,0,1, 2,-1,1, 2,-2,0, 2,-1,1, 2,0,1, 2,1,<1
>,2,2,0, 2,1,-1, 2,0,-1, 2,-1,-1, 3,3,-5
c71: byte (5) 3,1,2, 2,1,0, 2,2,2, 2,0,3, 2,-1,1, 2,-2,0, 2,-1,<-1
>,2,0,-1, 2,1,-1, 2,3,0, 3,2,-5
c72: byte (5) 3,0,3, 2,1,0, 3,0,3, 2,-1,0, 3,6,-6
c73: byte (5) 3,0,1, 2,1,1, 2,0,1, 3,0,3, 2,-1,0, 3,6,-6
c74: byte (5) 3,3,3, 2,-2,2, 2,2,2, 3,3,-7
c75: byte (5) 3,0,4, 2,4,0, 3,0,2, 2,-4,0, 3,6,-6
c76: byte (5) 3,1,7, 2,2,-2, 2,-2,-2, 3,5,-3
c77: byte (5) 3,1,2, 2,1,0, 3,0,2, 2,0,1, 2,2,2, 2,-1,1, 2,-2,<0
>,2,-1,-1, 3,6,-7
c100: byte (5) 3,3,2, 2,-2,0, 2,-1,1, 2,0,4, 2,1,1, 2,2,0, 2,1,<-1
>,2,0,-3, 2,-2,0, 2,0,2, 2,2,0, 3,2,-6
c101: byte (5) 3,0,2, 2,0,5, 2,1,1, 2,2,0, 2,1,-1, 2,0,-5, 3,-4,3, 2,4,0, 3,2,-5
c102: byte (5) 3,0,2, 2,3,0, 2,1,1, 2,0,1, 2,-1,1, 2,-3,0, 3,3,<0
>,2,1,1, 2,0,1, 2,-1,1, 2,-3,0, 2,0,-6, 3,6,-2
c103: byte (5) 3,4,7, 2,-1,1, 2,-2,0, 2,-1,-1, 2,0,-4, 2,1,-1, 2,2,0, 2,1,1, 3,2,-3
c104: byte (5) 3,0,2, 2,3,0, 2,1,1, 2,0,4, 2,-1,1, 2,-3,0, 3,1,0, 2,0,-6, 3,5,-2
c105: byte (5) 3,4,2, 2,-4,0, 2,0,6, 2,4,0, 3,-1,-3, 2,-3,0, 3,6,-5
c106: byte (5) 3,0,2, 2,0,6, 2,4,0, 3,-1,-3, 2,-3,0, 3,6,-5
c107: byte (5) 3,3,4, 2,1,0, 2,0,-1, 2,-1,-1, 2,-2,0, 2,-1,<1
>,2,0,4, 2,1,1, 2,2,0, 2,1,-1, 3,2,-7
c110: byte (5) 3,0,2, 2,0,6, 3,0,-3, 2,4,0, 3,0,3, 2,0,-6, 3,2,-2
c111: byte (5) 3,1,2, 2,2,0, 3,-1,0, 2,0,6, 3,-1,0, 2,2,0, 3,3,-10
c112: byte (5) 3,0,3, 2,1,-1, 2,2,0, 2,1,1, 2,0,5, 3,2,-10
c113: byte (5) 3,0,2, 2,0,6, 3,4,0, 2,-3,-3, 2,3,-3, 3,4,-2
c114: byte (5) 3,0,10, 2,0,-6, 2,4,0, 3,2,-2
c115: byte (5) 3,0,2, 2,0,6, 2,2,-2, 2,2,2, 2,0,-6, 3,2,-2
c116: byte (5) 3,0,2, 2,0,6, 2,4,-6, 2,0,6, 3,2,-10
c117: byte (5) 3,0,3, 2,0,4, 2,1,1, 2,2,0, 2,1,-1, 2,0,-4, 2,-1,-1, 2,-2,0, 2,-1,1, 3,6,-3
c120: byte (5) 3,0,2, 2,0,6, 2,3,0, 2,1,-1, 2,0,-1, 2,-1,-1, 2,-3,0, 3,6,-5
c121: byte (5) 3,0,3, 2,0,4, 2,1,1, 2,2,0, 2,1,-1, 2,0,-3, 2,-2,<-2
>,2,-1,0, 2,-1,1, 3,2,2, 2,2,-2, 3,2,-3
c122: byte (5) 3,0,2, 2,0,6, 2,3,0, 2,1,-1, 2,0,-1, 2,-1,-1, 2,-3,<0
>,3,1,0, 2,3,-3, 3,2,-2
c123: byte (5) 3,4,7, 2,-1,1, 2,-2,0, 2,-1,-1, 2,0,-1, 2,1,-1, 2,2,<0
>,2,1,-1, 2,0,-1, 2,-1,-1, 2,-2,0, 2,-1,1, 3,6,-3
c124: byte (5) 3,0,10, 2,4,0, 3,-2,0, 2,0,-6, 3,4,-2
c125: byte (5) 3,0,3, 2,0,5, 3,4,0, 2,0,-5, 2,-1,-1, 2,-2,0, 2,-1,1, 3,6,-3
c126: byte (5) 3,0,10, 2,0,-3, 2,2,-3, 2,2,3, 2,0,3, 3,2,-10
c127: byte (5) 3,0,2, 2,0,6, 3,4,0, 2,0,-6, 2,-2,2, 2,-2,-2, 3,6,-2
c130: byte (5) 3,0,2, 2,4,6, 3,-4,0, 2,4,-6, 3,2,-2
c131: byte (5) 3,2,2, 2,0,3, 2,-2,3, 3,4,0, 2,-2,-3, 3,4,-5
c132: byte (5) 3,0,10, 2,4,0, 2,-4,-6, 2,4,0, 3,2,-2
c133: byte (5) 3,3,1, 2,-2,0, 2,0,10, 2,2,0, 3,3,-11
c134: byte (5) 3,0,7, 2,4,-4, 3,2,-3
c135: byte (5) 3,1,11, 2,2,0, 2,0,-10, 2,-2,0, 3,5,-1
c136: byte (5) 3,2,2, 2,0,6, 3,-2,-2, 2,2,2, 2,2,-2, 3,2,-6
c137: byte (5) 3,2,3, 2,-2,2, 2,2,2, 3,-2,-2, 2,4,0, 3,2,-5
c140: byte (5) 3,3,10, 2,-1,0, 2,0,1, 2,1,0, 2,0,-1, 2,1,-1, 3,2,-7
c141: byte (5) 3,1,6, 2,2,0, 2,1,-1, 2,0,-3, 2,-3,0, 2,-1,1, 2,1,<1
>,2,3,0, 3,2,-4
c142: byte (5) 3,0,10, 2,0,-6, 2,3,0, 2,1,1, 2,0,2, 2,-1,1, 2,-3,0, 3,6,-6
c143: byte (5) 3,4,5, 2,-1,1, 2,-2,0, 2,-1,-1, 2,0,-2, 2,1,-1, 2,3,0, 3,2,-2
c144: byte (5) 3,4,10, 2,0,-6, 2,-3,0, 2,-1,1, 2,0,2, 2,1,1, 2,3,0, 3,2,-6
c145: byte (5) 3,3,2, 2,-2,0, 2,-1,1, 2,0,2, 2,1,1, 2,2,0, 2,1,<-1
>,2,-1,-1, 2,-3,0, 3,6,-4
c146: byte (5) 3,1,2, 2,0,5, 2,1,1, 2,1,0, 2,1,-1, 3,-2,-2, 2,-2,0, 3,6,-5
c147: byte (5) 3,1,0, 2,2,0, 2,1,1, 2,0,4, 2,-1,1, 2,-2,0, 2,-1,<-1
>,2,0,-2, 2,1,-1, 2,3,0, 3,2,-2
c150: byte (5) 3,0,2, 2,0,6, 3,0,-2, 2,3,0, 2,1,-1, 2,0,-3, 3,2,-2
c151: byte (5) 3,2,2, 2,0,3, 3,0,1, 2,0,1, 3,4,-7
c152: byte (5) 3,0,1, 2,1,-1, 2,2,0, 2,1,1, 2,0,4, 3,0,1, 2,0,1, 3,2,-7
c153: byte (5) 3,0,2, 2,0,6, 3,4,-2, 2,-2,-2, 2,-2,0, 3,2,0, 2,2,-2, 3,2,-2
c154: byte (5) 3,1,2, 2,0,6, 3,5,-10
c155: byte (5) 3,0,2, 2,0,4, 2,1,0, 2,1,-1, 2,1,1, 2,1,-1, 2,0,-4, 3,-2,0, 2,0,4, 3,4,-5
c156: byte (5) 3,0,2, 2,0,4, 2,1,-1, 2,1,1, 2,1,0, 2,1,-1, 2,0,-3, 3,2,-2
c157: byte (5) 3,0,3, 2,0,2, 2,1,1, 2,2,0, 2,1,-1, 2,0,-2, 2,-1,-1, 2,-2,0, 2,-1,1, 3,6,-3
c160: byte (5) 2,0,6, 2,3,0, 2,1,-1, 2,0,-2, 2,-1,-1, 2,-3,0, 3,6,-2
c161: byte (5) 3,4,2, 2,-3,0, 2,-1,1, 2,0,2, 2,1,1, 2,2,0, 2,1,-1, 2,0,-5, 3,2,0
c162: byte (5) 3,0,2, 2,0,4, 3,0,-2, 2,2,2, 2,1,0, 2,1,-1, 3,2,-5
c163: byte (5) 3,0,2, 2,3,0, 2,1,1, 2,-1,1, 2,-2,0, 2,-1,1, 2,1,1, 2,3,0, 3,2,-6
c164: byte (5) 3,0,6, 2,4,0, 3,-2,2, 2,0,-5, 2,1,-1, 2,1,0, 3,2,-2
c165: byte (5) 3,0,6, 2,0,-3, 2,1,-1, 2,2,0, 2,1,1, 2,0,3, 3,2,-6
c166: byte (5) 3,0,6, 2,0,-2, 2,2,-2, 2,2,2, 2,0,2, 3,2,-6
c167: byte (5) 3,0,6, 2,0,-3, 2,1,-1, 2,1,1, 2,1,-1, 2,1,1, 2,0,3, 3,2,-6
c170: byte (5) 3,0,2, 2,4,4, 3,-4,0, 2,4,-4, 3,2,-2
c171: byte (5) 2,4,4, 2,0,2, 3,-4,0, 2,0,-2, 2,2,-2, 3,4,-2
c172: byte (5) 3,0,6, 2,4,0, 2,-4,-4, 2,4,0, 3,2,-2
c173: byte (5) 3,4,11, 2,-1,-1, 2,0,-2, 2,-1,-1, 2,1,-1, 2,0,-2, 2,1,-1, 3,2,-1
c174: byte (5) 3,2,11, 2,0,-11, 3,4,0
c175: byte (5) 3,2,2, 2,0,1, 2,-2,2, 2,2,2, 2,0,1, 3,0,-1, 2,2,<-2
>,2,-2,-2, 3,4,-3
c176: byte (5) 3,0,11, 2,1,-1, 2,0,-2, 2,1,-1, 2,-1,-1, 2,0,-2, 2,-1,-1, 3,6,-1
↑CHRTBL: 0
xwd c1,6
xwd c2,16
xwd c3,14
xwd c4,4
xwd c5,4
xwd c6,11
xwd c7,7
xwd c10,6
0
xwd c12,1
xwd c13,7
xwd c14,7
0
xwd c16,16
xwd c17,16
xwd c20,7
xwd c21,7
xwd c22,7
xwd c23,7
xwd c24,6
xwd c25,10
xwd c26,16
xwd c27,11
xwd c30,2
xwd c31,6
xwd c32,7
xwd c33,7
xwd c34,6
xwd c35,6
xwd c36,7
xwd c37,4
xwd c40,1
xwd c41,5
xwd c42,5
xwd c43,11
xwd c44,17
xwd c45,17
xwd c46,14
xwd c47,7
xwd c50,5
xwd c51,5
xwd c52,11
xwd c53,5
xwd c54,4
xwd c55,3
xwd c56,3
xwd c57,3
xwd c60,13
xwd c61,6
xwd c62,10
xwd c63,16
xwd c64,6
xwd c65,12
xwd c66,14
xwd c67,5
xwd c70,21
xwd c71,13
xwd c72,5
xwd c73,6
xwd c74,4
xwd c75,5
xwd c76,4
xwd c77,11
xwd c100,14
xwd c101,11
xwd c102,15
xwd c103,11
xwd c104,11
xwd c105,7
xwd c106,6
xwd c107,13
xwd c110,7
xwd c111,7
xwd c112,6
xwd c113,6
xwd c114,4
xwd c115,6
xwd c116,5
xwd c117,12
xwd c120,10
xwd c121,14
xwd c122,12
xwd c123,15
xwd c124,5
xwd c125,10
xwd c126,6
xwd c127,7
xwd c130,5
xwd c131,6
xwd c132,5
xwd c133,5
xwd c134,3
xwd c135,5
xwd c136,6
xwd c137,6
xwd c140,7
xwd c141,11
xwd c142,10
xwd c143,10
xwd c144,10
xwd c145,12
xwd c146,10
xwd c147,13
xwd c150,7
xwd c151,5
xwd c152,10
xwd c153,10
xwd c154,3
xwd c155,12
xwd c156,10
xwd c157,12
xwd c160,7
xwd c161,11
xwd c162,7
xwd c163,11
xwd c164,7
xwd c165,7
xwd c166,6
xwd c167,10
xwd c170,5
xwd c171,6
xwd c172,5
xwd c173,10
xwd c174,3
xwd c175,11
xwd c176,10
0
BEND CHRTBL
end